Accept repeated prototypes for extern inline functions, without dropping the prototyped function#227
Open
stephenrkell wants to merge 2 commits into
Open
Accept repeated prototypes for extern inline functions, without dropping the prototyped function#227stephenrkell wants to merge 2 commits into
stephenrkell wants to merge 2 commits into
Conversation
…he same function seen earlier.
… fix in commit bf49a9).
Author
|
By the way, I have lots of fixes like this that have been sitting in my personal CIL fork for years. I'd like to contribute them. By default I'll open PRs on a rolling basis (some also by my current and past collaborators @mbyzhang and @probablytom) but let us know if there's a better way. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Given code like this:
... CIL will replace its definition of
g()when it sees the second prototype, making it appear wrongly to be a prototype-only function. The C that is printed will lack the definition ofg(). Then compilation will fail with an error like the following.This PR fixes this, by splitting out the cases of newly seen function definitions versus declarations.